$(function () {
    /*
        商品详情页实现逻辑：
            发送请求，获取数据，渲染模板
    */

    //  全局变量    --  成功登录后，跳转到购物车页面需要向接口发送的商品信息 
    var goodsObj;

    init();

    function init() {
        // 1. 数据请求，渲染
        renderGD();
        // 2. 触发事件
        eventList();
    };

    /* 绑定事件 */
    function eventList() {
        // '加入购物车'点击跳转事件
        $('#join_car').on('tap', function () {
            // 获取本地存储用户登录信息
            var userInfoStr = sessionStorage.getItem('userInfo')
            // 若无，表示未登录，需先登录
            if (!userInfoStr) {
                // 1. 提示未登录
                mui.toast("请您先登录");
                // 2. 在本地存储中存储当前网页地址，已方便用户成功登录后，跳转回当前页面
                sessionStorage.setItem('pageUrl', location.href);
                // 3. 定时器：跳转到登录页面
                setTimeout(function () {
                    location.href = "login.html";
                }, 1000);
            } else {
                /*
                    此表示用户已登录，则构造购物车页面后台接口需要传递的参数
                */
                // 构造需要向接口传递的参数
                var  goodsData = {
                    cat_id : goodsObj.cat_id,
                    goods_id : goodsObj.goods_id,
                    goods_name : goodsObj.goods_name,
                    goods_number : goodsObj.goods_number,
                    goods_price : goodsObj.goods_price,
                    goods_small_logo : goodsObj.goods_small_logo,
                    goods_weight : goodsObj.goods_weight
                };
                
                // 向后台接口发送请求
                $.post('/my/cart/add',{info:JSON.stringify(goodsData)},function(result){
                    if(result.meta.status == 200){
                        location.href = 'cart.html';
                    }else {
                        console.log("请求数据失败");
                    };
                });
            }
        });
    };

    /* 获取数据，渲染模板函数 */
    function renderGD() {
        $.get('/goods/detail', {
            goods_id: getUrl("goods_id")
        }, function (result) {
            if (result.meta.status == 200) {
                // 存储已选购买商品的信息
                goodsObj = result.data;
                // 轮播图与商品标题结构
                var html = template('gdBanTpl', goodsObj);

                // 页面显示
                $('.banner_title').html(html);

                // 获得slider插件对象 --  初始化轮播图
                var gallery = mui('.mui-slider');
                gallery.slider({
                    interval: 5000 //自动轮播周期，若为0则不自动播放，默认为0；
                });

                // 选项卡结构
                var tapHtml = template('tapTpl', goodsObj);

                $('.tap_content').html(tapHtml);
            } else {
                console.log("请求数据失败");
            };
        });
    };

    /* 获取url中某键的值 */
    function getUrl(name) {
        var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
        var r = window.location.search.substr(1).match(reg);
        if (r != null) return decodeURI(r[2]);
        return null;
    };
})